Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory including volatile and non-volatile memory. Volatile memory can require power to maintain its information and includes random-access memory (RAM), dynamic random access memory (DRAM), and synchronous dynamic random access memory (SDRAM), among others. Non-volatile memory can provide persistent information by retaining stored information when not powered and can include NAND flash memory, NOR flash memory, read only memory (ROM), Electrically Erasable Programmable ROM (EEPROM), Erasable Programmable ROM (EPROM), phase change random access memory (PCRAM), resistive random access memory (RRAM), and magnetic random access memory (MRAM), such as spin torque transfer random access memory (STT RAM), among others.
Memory devices can be combined together to form a solid state drive (SSD). A solid state drive can include non-volatile memory, e.g., NAND flash memory and NOR flash memory, and/or can include volatile memory, e.g., DRAM and SRAM, among various other types of non-volatile and volatile memory. Flash memory devices, including floating gate flash devices and charge trap flash (CTF) devices using semiconductor-oxide-nitride-oxide-semiconductor and metal-oxide-nitride-oxide-semiconductor capacitor structures that store information in charge traps in the nitride layer, may be utilized as non-volatile memory for a wide range of electronic applications. Flash memory devices typically use a one-transistor memory cell that allows for high memory densities, high reliability, and low power consumption.
Memory cells in an array architecture can be programmed to a desired data state. That is, electric charge can be placed on or removed from a charge storage structure, e.g., a floating gate or charge trap, of a memory cell to program the cell to one of a number of data states. For example, a single level cell (SLC) can be programmed to one of two data states, such as to represent one of two binary units, e.g., 1 or 0. Flash memory cells can also be programmed to one of more than two data states, such as to represent one of, e.g., 1111, 0111, 0011, 1011, 1001, 0001, 0101, 1101, 1100, 0100, 0000, 1000, 1010, 0010, 0110, and 1110. Such cells may be referred to as multi state memory cells, multiunit cells, or multilevel cells (MLCs). MLCs can allow the manufacture of higher density memories without increasing the number of memory cells since each cell can represent more than one digit, e.g., more than one bit. One of the data states can be an erased state. For example, the “lowermost” data state may not be programmed above the erased state, that is, if the cell is programmed to the lowermost data state, it remains in the erased state rather than having a charge applied to the cell during a programming operation. The other data states can be referred to as “non-erased” states.
Some memory devices including NAND arrays may be programmed such that not all of the cells coupled to a particular access line are programmed at the same time, e.g., as in shielded bit line (SBL) programming, which may include separately programming alternate cells coupled to a particular access line. Some memory devices including NAND arrays may be programmed such that all of the cells coupled to a particular access line are programmed simultaneously, such as in all bit line (ABL) programming. In ABL programming, capacitive coupling between adjacent memory cells can have adverse effects on the memory cell being programmed. However, ABL programming can provide faster programming operations with respect to SBL programming, as all of the cells coupled to a particular access line can be programmed at the same time.